<?php
error_reporting(E_ALL);

$xml = new DOMDocument('1.0');
$xml->validateOnParse = true;
$xml->formatOutput = true;

//$xml->load('xml_template.xml');
$xml->load('word/organogram.doc');

$xpath = new DOMXPath($xml);

    if(isset($_POST['imeSektora'])) {
        $imeSektora = $_POST['imeSektora'];
    } else {
        $imeSektora = 'IME';
    };
    if(isset($_POST['textSektora'])) {
        $textSektora = $_POST['textSektora'];
    } else {
        $textSektora = '<p>Radna mesta</p>';
    };

    if(isset($_POST['svekutijeTop'])) {
        $svekutijeTop = $_POST['svekutijeTop'];
    } else {
        $svekutijeTop = '0';
    };
    if(isset($_POST['svekutijeLeft'])) {
        $svekutijeLeft = $_POST['svekutijeLeft'];
    } else {
        $svekutijeLeft = '0';
    };
    if(isset($_POST['svekutijeWidth'])) {
        $svekutijeWidth = $_POST['svekutijeWidth'];
    } else {
        $svekutijeWidth = '0';
    };
    if(isset($_POST['svekutijeHeight'])) {
        $svekutijeHeight = $_POST['svekutijeHeight'];
    } else {
        $svekutijeHeight = '0';
    };
    if(isset($_POST['svekutijeText'])) {
        $svekutijeText = $_POST['svekutijeText'];
    } else {
        $svekutijeText = 'Greska';
    };

//if(isset($_POST['imeSektora'])) {
        
//Opis poslova = text sektora
$bodydokumenta = $xml->getElementById('dokument');
$sektorp = $xml->getElementById('sektor');
$text_sektora = $xml->getElementById('text_sektora');
$prvip = $xml->createElement('w:p');
if(isset($_POST['imeSektora'])) {
    $prvip->setAttribute("xml:id", "sektor-".$imeSektora);
}
$bodydokumenta->insertBefore($prvip,$sektorp);

$sidrokutija = $xml->createElement('aml:annotation');
$sidrokutija->setAttribute("aml:id", "0");
$sidrokutija->setAttribute("w:type", "Word.Bookmark.Start");
$sidrokutija->setAttribute("w:name", $imeSektora);
$sidrokutijakraj = $xml->createElement('aml:annotation');
$sidrokutijakraj->setAttribute("aml:id", "0");
$sidrokutijakraj->setAttribute("w:type", "Word.Bookmark.End");
$prvip->appendChild($sidrokutija);
$prvip->appendChild($sidrokutijakraj);

$sppr = $xml->createElement('w:pPr'); 
$prvip->appendChild($sppr);

$spStyle = $xml->createElement('w:pStyle');
$spStyle->setAttribute("w:val", "style0");
$sppr->appendChild($spStyle);
$sjc = $xml->createElement('w:jc');
$sjc->setAttribute("w:val", "center");
$sppr->appendChild($sjc);

$prelomstrane = $xml->createElement('w:pageBreakBefore');
$sppr->appendChild($prelomstrane);

$naslovr = $xml->createElement('w:r');
$naslovt = $xml->createElement('w:t');
$prvip->appendChild($naslovr);
$naslovr = $naslovr->appendChild($naslovt); 
$naslovt->nodeValue = $imeSektora;


$linijer = $xml->createElement('w:r');
if(isset($_POST['imeSektora'])) {
    $linijer->setAttribute("xml:id", "lines-".$imeSektora);
}
$linijer->setAttribute("status", "partial");
$prvip->appendChild($linijer);

$textboxesr = $xml->createElement('w:r');
if(isset($_POST['imeSektora'])) {
    $textboxesr->setAttribute("xml:id", "text_boxes-".$imeSektora);
}
$textboxesr->setAttribute("status", "partial");
$prvip->appendChild($textboxesr);

$kutijer = $xml->createElement('w:r');
if(isset($_POST['imeSektora'])) {
    $kutijer->setAttribute("xml:id", "kutije-".$imeSektora);
}
$kutijer->setAttribute("status", "partial");
$prvip->appendChild($kutijer);

$drugip = $xml->createElement('w:p');
if(isset($_POST['imeSektora'])) {
    $drugip->setAttribute("xml:id", "text_sektora-".$imeSektora);
}
$bodydokumenta->insertBefore($drugip,$text_sektora);

// $ovelines = $xml->getElementById("lines-".$imeSektora);
// $ovetext_boxes = $xml->getElementById("text_boxes-".$imeSektora);
// $ovekutije = $xml->getElementById("kutije-".$imeSektora);
// $ovajsektor = $xml->getElementById("sektor-".$imeSektora);
// $ovajtextsektora = $xml->getElementById("text_sektora-".$imeSektora);
$ovelines = $linijer;
$ovetext_boxes = $textboxesr;
$ovekutije = $kutijer;
$ovajsektor = $prvip;
$ovajtextsektora = $drugip;


 
if(isset($_POST['svekutijeHeight'])) {
    $count = (count($svekutijeTop)+1);    

    for ($ind=1; $ind < $count; $ind++) { 

        $top_kutije[] = '';
        $left_kutije[] = '';
        $width_kutije[] = '';
        $height_kutije[] = '';
        $top_textbox[] = '';
        $left_textbox[] = '';
        $text_textbox[] = '';
        $width_textbox[] = '';
        $height_textbox[] = '';
        foreach ($svekutijeTop as $i => $value) {
            $top_kutije[] = ($svekutijeTop[$i] - 4);
            $top_textbox[] = ($svekutijeTop[$i] - 4);
        } 
        
        foreach ($svekutijeLeft as $i => $value) {
            $left_kutije[] = ($svekutijeLeft[$i] - 4);
            $left_textbox[] = ($svekutijeLeft[$i] - 4);
        }
        foreach ($svekutijeWidth as $i => $value) {
            $width_kutije[] = $svekutijeWidth[$i];
            $width_textbox[] = $svekutijeWidth[$i];
        } 
        foreach ($svekutijeHeight as $i => $value) {
            $height_kutije[] = $svekutijeHeight[$i];
            $height_textbox[] = $svekutijeHeight[$i];
        } 
        
        foreach ($svekutijeText as $i => $value) {
            $text_textbox[] = $svekutijeText[$i];
        }       

        echo $text_textbox[$ind].'  '.$left_textbox[$ind].'  '.$top_textbox[$ind].'   ---' ;
        $left_textbox[$ind] = ($left_textbox[$ind] + 2);
        $top_textbox[$ind] = ($top_textbox[$ind] + 2);
    ////////////// PODESAVANJA KUTIJE ////////////////
        $boja_kutije = '#eeeeee';
        $boja_ivice_kutije = 'black';
        $debljina_ivice_kutije = '1pt';
    //////////////////////////////////////////////////

    ////////////// PODESAVANJA TEXTA /////////////////
        $height_textbox[$ind] = ($height_kutije[$ind] - 4);
        $width_textbox[$ind] = ($width_kutije[$ind] - 4);
    //////////////////////////////////////////////////
        $text_textboxLink[$ind] = str_replace(' ', '-', $text_textbox[$ind]);
    // Kutije
        //$red_kutija = $xml->getElementById('kutije2');
        $red_kutija = $ovekutije;
        //if(isset($_POST['imeSektora'])) {
            

        //}

        $okvir_kutije = $xml->createElement('w:pict');
        $red_kutija = $red_kutija->appendChild($okvir_kutije);

       

        $nova_kutija = $xml->createElement('v:roundrect');
        $okvir_kutije = $okvir_kutije->appendChild($nova_kutija);

        $nova_kutija->setAttribute("type", "#kutija");
        $nova_kutija->setAttribute("href", "#".$text_textboxLink[$ind]);

        $nova_kutija->setAttribute("fillcolor", $boja_kutije);
        $nova_kutija->setAttribute("strokecolor", $boja_ivice_kutije);
        $nova_kutija->setAttribute("strokeweight", $debljina_ivice_kutije);
        
        $nova_kutija->setAttribute("style", "position:absolute;margin-left:".$left_kutije[$ind]."pt;margin-top:".$top_kutije[$ind]."pt;width:".$width_kutije[$ind]."pt;height:".$height_kutije[$ind]."pt;z-index:2");

    // Text boxes
        //$red_text_boxes = $xml->getElementById('text_boxes2');
        $red_text_boxes = $ovetext_boxes;

        $okvir_textbox = $xml->createElement('w:pict');
        $red_text_boxes = $red_text_boxes->appendChild($okvir_textbox);

        $shape_textbox = $xml->createElement('v:shape');
        $okvir_textbox = $okvir_textbox->appendChild($shape_textbox);
        
        $text_textbox_link[$ind] = str_replace(" ", "-", $text_textbox[$ind]);
        $shape_textbox->setAttribute("href", "#".$text_textbox_link[$ind]);
        $shape_textbox->setAttribute("type", "#text_kutija");
        $shape_textbox->setAttribute("href", "#".$text_textboxLink[$ind]);
        $shape_textbox->setAttribute("style", "position:absolute;margin-left:".$left_textbox[$ind]."pt;margin-top:".$top_textbox[$ind]."pt;width:".$width_textbox[$ind]."pt;height:".$height_textbox[$ind]."pt;z-index:5;");
        $shape_textbox->setAttribute("fill", "false");

        $textbox_textbox = $xml->createElement('v:textbox');
        $shape_textbox = $shape_textbox->appendChild($textbox_textbox);

        $textbox_textbox->setAttribute("style", "v-text-anchor:middle");

        $txbxContent_textbox = $xml->createElement('w:txbxContent');
        $textbox_textbox = $textbox_textbox->appendChild($txbxContent_textbox);

        $txbxContent_textbox->setAttribute("style", "v-text-anchor:middle");

        $p_textbox = $xml->createElement('w:p');
        $txbxContent_textbox = $txbxContent_textbox->appendChild($p_textbox);

        $ppr_textbox = $xml->createElement('w:pPr');
        $p_textbox->appendChild($ppr_textbox);

        $r_textbox = $xml->createElement('w:r');
        $p_textbox->appendChild($r_textbox);

        $wjc_textbox = $xml->createElement('w:jc');
        $ppr_textbox->appendChild($wjc_textbox);

        $wjc_textbox->setAttribute("w:val", "center");

        $rpr_textbox = $xml->createElement('w:rPr');
        $ppr_textbox->appendChild($rpr_textbox);

        $wsz_textbox = $xml->createElement('w:sz');
        $wcs_textbox = $xml->createElement('w:sz-cs');

        $rpr_textbox->appendChild($wsz_textbox);
        $rpr_textbox->appendChild($wcs_textbox);

        $wsz_textbox->setAttribute("w:val", "22");
        $wcs_textbox->setAttribute("w:val", "22");

        $wrpr = $rpr_textbox->cloneNode(true);
        $r_textbox->appendChild($wrpr);

        $t_textbox = $xml->createElement('w:t');
        $r_textbox->appendChild($t_textbox);

        $t_textbox->nodeValue = $text_textbox[$ind];

    } // for end
}

    if(isset($_POST['dashedlinijeTop'])) {
        $dashedlinijeTop = $_POST['dashedlinijeTop'];
    } else {
        $dashedlinijeTop = '0';
    };
    if(isset($_POST['dashedlinijeLeft'])) {
        $dashedlinijeLeft = $_POST['dashedlinijeLeft'];
    } else {
        $dashedlinijeLeft = '0';
    };
    if(isset($_POST['dashedlinijeWidth'])) {
        $dashedlinijeWidth = $_POST['dashedlinijeWidth'];
    } else {
        $dashedlinijeWidth = '0';
    };
    if(isset($_POST['dashedlinijeHeight'])) {
        $dashedlinijeHeight = $_POST['dashedlinijeHeight'];
    } else {
        $dashedlinijeHeight = '0';
    };
if(isset($_POST['dashedlinijeHeight'])) {

    $countDashed = (count($dashedlinijeTop)+1);

    for ($ind=1; $ind < $countDashed; $ind++) { 

        $top_linije[] = '';
        $left_linije[] = '';
        $width_linije[] = '';
        $height_linije[] = '';
        foreach ($dashedlinijeTop as $i => $value) {
            $top_linije[] = $dashedlinijeTop[$i];
        } 
        foreach ($dashedlinijeLeft as $i => $value) {
            $left_linije[] = $dashedlinijeLeft[$i];
        }
        foreach ($dashedlinijeWidth as $i => $value) {
            $width_linije[] = $dashedlinijeWidth[$i];
        } 
        foreach ($dashedlinijeHeight as $i => $value) {
            $height_linije[] = $dashedlinijeHeight[$i];
        }       
        
    ////////////// PODESAVANJA LINIJE ////////////////
        $vrsta_linije = '#dashline'; //#dashline ili #solidline
        $debljina_linije = '2pt';
        $boja_linije = 'black';
    //////////////////////////////////////////////////
        if ($width_linije[$ind] < 30) {
            $width_linije[$ind] = 0;
            $left_linije[$ind] = ($left_linije[$ind] + 7);
            $top_linije[$ind] = ($top_linije[$ind] - 4);
        } else {
            $height_linije[$ind] = 0;
            $top_linije[$ind] = ($top_linije[$ind] + 4);
        }
        echo $left_linije[$ind].'  '.$top_linije[$ind].'  '.$width_linije[$ind].'   ---' ;
        // Linije 

        //$red_linija = $xml->getElementById('lines2');
        $red_linija = $ovelinije;

        $novi_prvi_wrapper = $xml->createElement('w:pict');
        $red_linija = $red_linija->appendChild($novi_prvi_wrapper);

        $novi_shape_wrapper = $xml->createElement('v:shape');
        $novi_prvi_wrapper = $novi_prvi_wrapper->appendChild($novi_shape_wrapper);

        $novi_shape_wrapper->setAttribute("type", $vrsta_linije); // vrsta linije
        $novi_shape_wrapper->setAttribute("style", "position:absolute;margin-left:".$left_linije[$ind]."pt;margin-top:".$top_linije[$ind]."pt;width:".$width_linije[$ind]."pt;height:".$height_linije[$ind]."pt;z-index:1"); // style
        $novi_shape_wrapper->setAttribute("strokeweight", $debljina_linije); // debljina linije
        $novi_shape_wrapper->setAttribute("strokecolor", $boja_linije); // boja linije

    } // for end
}
   if(isset($_POST['solidlinijeTop'])) {
        $solidlinijeTop = $_POST['solidlinijeTop'];
    } else {
        $solidlinijeTop = '0';
    };
    if(isset($_POST['solidlinijeLeft'])) {
        $solidlinijeLeft = $_POST['solidlinijeLeft'];
    } else {
        $solidlinijeLeft = '0';
    };
    if(isset($_POST['solidlinijeWidth'])) {
        $solidlinijeWidth = $_POST['solidlinijeWidth'];
    } else {
        $solidlinijeWidth = '0';
    };
    if(isset($_POST['solidlinijeHeight'])) {
        $solidlinijeHeight = $_POST['solidlinijeHeight'];
    } else {
        $solidlinijeHeight = '0';
    };
if(isset($_POST['solidlinijeTop'])) {
    $countSolid = (count($solidlinijeTop)+1);

    for ($ind=1; $ind < $countSolid; $ind++) { 

        $top_linijes[] = '';
        $left_linijes[] = '';
        $width_linijes[] = '';
        $height_linijes[] = '';
        foreach ($solidlinijeTop as $i => $value) {
            $top_linijes[] = $solidlinijeTop[$i];
        } 
        
        foreach ($solidlinijeLeft as $i => $value) {
            $left_linijes[] = $solidlinijeLeft[$i];
        }
        foreach ($solidlinijeWidth as $i => $value) {
            $width_linijes[] = $solidlinijeWidth[$i];
        } 
        foreach ($solidlinijeHeight as $i => $value) {
            $height_linijes[] = $solidlinijeHeight[$i];
        }       

    ////////////// PODESAVANJA LINIJE ////////////////
        $vrsta_linijes = '#solidline'; //#dashline ili #solidline
        $debljina_linije = '2pt';
        $boja_linije = 'black';
    //////////////////////////////////////////////////
        if ($width_linijes[$ind] < 30) {
            $width_linijes[$ind] = 0;
            $left_linijes[$ind] = ($left_linijes[$ind] + 7);
            $top_linijes[$ind] = ($top_linijes[$ind] - 4);
        } else {
            $height_linijes[$ind] = 0;
            $top_linijes[$ind] = ($top_linijes[$ind] + 4);
        }
        echo $left_linijes[$ind].'  '.$top_linijes[$ind].'  '.$width_linijes[$ind].'   ---' ;
        // Linije 
        //$red_linija = $xml->getElementById('lines2');
        $red_linija = $ovelinije;

        $novi_prvi_wrapper = $xml->createElement('w:pict');
        $red_linija = $red_linija->appendChild($novi_prvi_wrapper);

        $novi_shape_wrapper = $xml->createElement('v:shape');
        $novi_prvi_wrapper = $novi_prvi_wrapper->appendChild($novi_shape_wrapper);

        $novi_shape_wrapper->setAttribute("type", $vrsta_linijes); // vrsta linije
        $novi_shape_wrapper->setAttribute("style", "position:absolute;margin-left:".$left_linijes[$ind]."pt;margin-top:".$top_linijes[$ind]."pt;width:".$width_linijes[$ind]."pt;height:".$height_linijes[$ind]."pt;z-index:1"); // style
        $novi_shape_wrapper->setAttribute("strokeweight", $debljina_linije); // debljina linije
        $novi_shape_wrapper->setAttribute("strokecolor", $boja_linije); // boja linije

    } // for end
}


    //$text_sektora = $xml->getElementById('text_sektora');
    $bodydokumenta = $xml->getElementById('dokument');

    $paragrafi = explode("</p>", $textSektora);
    
    foreach ($paragrafi as $paragraf) {
        $paragraf = trim($paragraf);
        echo $paragraf; ///test
        $sp = $xml->createElement('w:p');

        if (preg_match('/"([^"]+)"/', $paragraf, $m)) {
            $naslov = $m[1]; 
            $sppr = $xml->createElement('w:pPr'); 
            $spStyle = $xml->createElement('w:pStyle');
            $spStyle->setAttribute("w:val", $naslov);
            $sp->appendChild($sppr);
            $sppr->appendChild($spStyle);

            if ($naslov != "Heading1") {
                $prelomstrane = $xml->createElement('w:pageBreakBefore');
                $sppr->appendChild($prelomstrane);

                $sidro = $xml->createElement('aml:annotation');
                $sidro->setAttribute("aml:id", "0");
                $sidro->setAttribute("w:type", "Word.Bookmark.Start");
                $sidro->setAttribute("w:name", $naslov);
                $sidrokraj = $xml->createElement('aml:annotation');
                $sidrokraj->setAttribute("aml:id", "0");
                $sidrokraj->setAttribute("w:type", "Word.Bookmark.End");
                $sp->appendChild($sidro);
                $sp->appendChild($sidrokraj);
                
            }
        } 
        //$sp = $xml->createElement('w:p');
        $sr = $xml->createElement('w:r');
        $st = $xml->createElement('w:t');

        $cisttext = strip_tags($paragraf);
        
        $sp->appendChild($sr);
        $sr->appendChild($st);
        $st->nodeValue = $cisttext;

        $bodydokumenta->insertBefore($sp,$ovajtextsektora);
    }

    $filename = 'word/organogram.doc';

$xml->save($filename);
//}
?>